跳到主要内容

转换(Transitions)

转换为状态机提供了要遵循的逻辑地图。转换有许多需要考虑的因素和可配置的属性,我们将在下面介绍。注意,我们也会简要讨论输入,所以请务必在这里阅读更多相关内容。

创建新转换(Creating a New Transition)

要创建转换,将鼠标放在您想要离开的状态附近,直到看到椭圆出现。点击并拖动椭圆到您想要转换到的状态。一旦您连接了两个状态,您会看到一个带有箭头图标的椭圆,指示转换的方向。

图片

创建转换

注意,您可以在两个状态之间创建多个转换。每个转换可以要求满足不同的条件才能触发,从而让您能够创建"或"条件。

图片

创建"或"转换

配置转换(Configuring a Transition)

添加转换后,选择方向指示器就可以配置转换。转换面板有三个不同的部分:转换属性、条件和插值。

转换属性(Transition Properties)

转换属性允许您自定义转换的发生方式。

图片

转换属性

持续时间(Duration)

持续时间属性描述了转换发生需要多长时间。

默认情况下,持续时间设置为零,这意味着转换立即发生。因此,当我们在这两个动画之间转换时,对象看起来像是从画板的一侧瞬间跳到另一侧。

图片

持续时间为 0 毫秒

如果我们增加持续时间,您会注意到数值越高,转换所需时间越长。

图片

持续时间为 500 毫秒

从某种意义上说,转换就像它们自己的动画。起始属性(来自状态机正在离开的状态)将插值到结束属性(状态机要去的状态的起始属性)。如果起始属性是时间轴上的第一个关键帧,结束属性是第二个关键帧,那么持续时间就是这两个关键帧之间的时间。转换比这要复杂得多,但这样思考转换将帮助您诊断状态机的问题。

图片

转换上的插值

就像时间轴上的关键帧一样,我们可以更改插值,我们将在下面详细讨论。

退出时间(Exit Time)

退出时间告诉状态机在转换之前必须播放多少状态。

默认情况下,退出时间是未选中的。如果您想启用退出时间,请使用复选框。启用设置后,您可以使用时间值或百分比。

图片

使用退出时间

例如,如果您想让状态机在转换之前播放整个动画,您可以输入动画的持续时间,或使用 100%。

退出时暂停(Pause When Exiting)

退出时暂停选项在转换期间暂停您正在离开的动画。

图片

退出时暂停

正如我们在持续时间部分讨论的,当转换发生时,第一个状态的属性与下一个状态的第一个关键帧混合。实际上,当转换发生时,您的状态机离开的动画会继续播放。

条件(Conditions)

条件是我们转换的规则。没有条件,我们的转换会持续触发,我们的状态机可能看起来要么有故障,要么只播放一个动画。条件要求我们定义一些输入,您可以在这里阅读更多相关内容。

图片

条件

添加新条件(Adding a New Condition)

要向转换添加新条件,点击条件部分旁边的加号按钮。

图片

添加新条件

每个新条件都提供一个下拉菜单,显示您添加到状态机的所有输入。配置选项会根据您选择的输入类型而不同。

注意,您可以向单个转换添加多个条件来创建"与"转换。

配置布尔值

当您配置布尔值时,您可以决定转换是在该布尔值为真还是为假时发生。

图片

配置布尔值

配置数值

当您配置数值输入时,您可以告诉转换在发生特定的数值条件时发生,比如等于特定数值,大于或小于特定数值。

图片

配置数值输入

配置触发器

当您向转换添加触发器输入时,您是在告诉转换在该触发器发生时触发。

图片

配置触发器

插值(Interpolation)

您可以在转换面板底部为转换添加插值。默认情况下,插值设置为线性,但您可以使用三次曲线和保持插值。

注意,状态之间的插值在转换持续时间较长时最有效。

如果您不熟悉插值的基础知识,请阅读更多关于插值(缓动)的内容。